home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Network Supervisor's Toolkit
/
Network Supervisor's Toolkit.iso
/
tools
/
lu62
/
port
/
bss.h
< prev
next >
Wrap
C/C++ Source or Header
|
1996-07-10
|
37KB
|
1,053 lines
/* k 0224 23/09/91 */
/* k 0226 24/09/91 */
/* k 0227 26/09/91 *//* corrections for literals */
/* k 0230 09/10/91 *//* assemble some data */
/* k 0231 10/10/91 *//* resident module */
/* k 0233 12/10/91 *//* Trn modules */
/* k 0234 14/10/91 *//* OVL_TYPE */
/* k 0235 18/10/91 *//* pswitch for showdata */
/* k 0243 20/10/91 *//* common resources */
/* k 0245 20/10/91 *//* statscreen */
/* k 0247 22/10/91 */
/* k 0254 31/10/91 *//* Status data */
/* k 0262 11/1//91 *//* sk[5] for status */
/* k 0264 12/11/91 *//* Codes */
/* k 5001 18/11/91 */ /* from KIROV */
/* k 0282 12/12/91 *//* from BSS */
/* k 0292 23/12/91 *//* save initial path */
/* k 0304 23/02/92 *//* extend path field */
/* k 0306 24/02/92 *//* ddoff */
/* k 0307 24/02/92 *//* 300-byte segments */
/* k 0317 14/03/92 *//* delete emadapt.h */
/* k 0320 22/03/92 *//* New initialization */
/* k 1082 23/03/92 *//* definition bufvt,buflan */
/* k 1083 25/03/92 *//* SOLARIS-2 adapter */
/* k 0322 26/03/92 *//* Files menu */
#include <include.h>
#include <vt.h>
#include <conio.h>
/* @0317 */
#include <bufmap.h>
#include <dcr.h>
#include <tbs.h> /* 5001 */
#include <tabm.h>
#include <popen39.h>
#include <pget39.h>
#include <pfree39.h>
#include <pwrite39.h>
#include <pread39.h>
#include <bufdrv.h>
#include <p3927c.h> /*ßΓpπ¬Γπpδ ææé ¿ ßΓpπ¬Γπpδ ñ«»«½¡¿Γѽ∞¡δσ »ápá¼ÑΓp«ó drvtrn39*/
#include <p3926c.H> /* TRANSMIT */
#include <p3928c.H> /* RECEIVE */
#include <p390bc.H> /* BUFFER_GET */
#include <p3915c.H> /* BUFFER_FREE */
#include <p3915t.H> /* OPEN */
#include <p3916c.H> /* CLOSE */
#include <p3927t.H>
#include <p3928t.H>
#include <p390bt.H>
#include <p3926t.H> /* 5001 */
#define MAXDIR 66 /* @0322 */
struct WORDREGS {
unsigned int ax, bx, cx, dx, si, di, cflag, flags;
};
struct BYTEREGS {
unsigned char al, ah, bl, bh, cl, ch, dl, dh;
};
union REGS {
struct WORDREGS x;
struct BYTEREGS h;
};
struct SREGS {
unsigned int es;
unsigned int cs;
unsigned int ss;
unsigned int ds;
};
struct buf_vt { /* @0233 */
#if (OS_TYPE!=0) /* @0215 */
unsigned char contents [4000]; /* @0208 */
#endif /* @0215 */
unsigned int cursor_size;
int curx,cury,currmode; /* @0233 */
unsigned char winleft,wintop,winright,winbottom;
};
extern int
#if (OVL_TYPE==1)
Trn_frame(),Trn_signon(),Trn_set(),Trn_logon(),Trn_data(),Trn_logoff(),
Trn_data02(), /* @0235 */
Trn_status(),Trn_vpexit(),Trn_data03(); /* @0322 */
#else
frame(),signon(),set(),logon(),data(),logoff(),
status(),vpexit(),data03(); /* @0322 */
extern int frame0(),frame1();
extern int status0(),status1();
extern int status2(),status3();
extern int status4(),status5();
extern int exit1(),exit0();
extern int logoff0(),logoff1(),logoff2(),logoffgo(); /* 0014 */
extern int data0(),data1(),data2(),data3(),data4(),data5();
extern int data6(),data7(),data8(),data9(),data10(); /* @0060 */ /* @0057 */
extern int data11(),data12(); /* @0061 */ /* @0060 */
extern int logon0(),logon1(),logon2(),logon3(),logonexit();
extern int signon0();
extern int signon1();
extern int signon2();
extern int set0(),set1(),set2(),set3(),set4(),set5(),set6();
#endif
extern struct rqb *appl(),*path(),*sessa(),*fisc(),*csc(),*cpmgr();
extern struct rqb *pu(),*dfc(),*pfrom(),*landlc(),*config(),
#if (OVL_TYPE==1)
*Trn_npinput();
#else
*npinput();
#endif
extern struct rqb *dlc7920(); /* 1001 */
extern struct rqb *dlc7920s(); /* 1083 */
extern struct rqb *dlctrn(); /* 1007 */
extern struct rqb *dlctrn39(); /* 1007 */
extern struct rqb *dlcasync(); /* 1051 */
extern struct rqb
#if (OVL_TYPE==1)
*Trn_dataw_code();
#else
*dataw_code(); /* @0072 */
#endif
char *rentdos=NULL;
short curs[5]={0},curx[5]={0},cury[5]={0}; /* 0014 */
short cur_curs=0,cur_curx=0,cur_cury=0;
#if (OVL_TYPE==0) /* @0233 */
char *com1[7]={" sign","","","","logof","s",""};
char letter[7]={'O','S','L','D','F','T','E'};
char *com2[7]={"n","et","ogon","ata","","atus","xit"};
char *key1[5]={" F1","ESC","^Home","^Fi","Alt-x"}; /* @0217 */
char *key2[5]={"Help","Previous Menu","Main menu", /* @0217 */
"Screen i", /* @0127 */
#if (OS_TYPE==0) /* @0191 */
"quit to DOS"};
#else /* @0191 */
"quit to shell"};
#endif /* @0191 */
char *text[7]={"Signon procedure (name, password, mode)",
"Set procedure (logical screens, trace, statistic)",
"Logon procedure (establish session)",
"Data procedure (send and receive datagrams)",
"Logoff procedure (terminate session)",
"Status procedure (get information about VT)",
"Exit (clear signon parameters)"};
#endif
short com_v=0;
/* @0046 */ /* 0017 */
/* @0046 */
/* @0046 */
char sw_wait=0x00; /* @0184 */
char xwbuf[256]={0x00}; /* @0192 */
char wbuf[256]={0x00}; /* @0192 */
char wbufd[256]={0x00}; /* @0192 *//* @0243 */
struct mat (*wmat)[3]={NULL}; /* @0054 */
short ddfff=0; /* @0200 */ /* @0044 *//* @0159 */
/* @0159 */
char *filename={" "};/* @0060 */
struct segoff { /* @0158 *//* @0158 */
unsigned short seg; /* @0159 */ /* @0158 */
unsigned short off; /* @0158 */ /* @0158 */
}; /* @0159 */
struct segoff (*dout)[512]={NULL}; /* @0158 *//* @0159 */
long cseek=0, nseek=0, oldseek=0; /* @0157 @0158 *//* @0160 */
char d_g[]="\\d"; /* @0174 *//* @0184 */
unsigned short lasti=0,curi=0,curseg=0; /* @0159 */
char mail[]="mail\\"; /* @0157 *//* @0304 */
char dpp[60]={0x00}; /* @0306 */
char ddpp[60]={0x00}; /* @0157 *//* @0243 *//* @0306 */
char dtxt8[]=" "; /* TEMPORARY */
char eoflag=0x00; /* @0161 */
short type=0;
short nida=0,oldnida=0; /* @0060 */ /* @0057 */
struct rqb *nrda=NULL,*crda=NULL,
*orda=NULL,*oldnrda=NULL; /* @0060 */ /* @0057 */
short last=0; /* @0060 */
unsigned short plj=0,lj=0;/* @0061 @0060 @0158 *//* @0159 */
short fdd=0,fddd=0,le=0; /* @0159 */
short dfdd=0; /* @0243 */
unsigned char *tp=NULL; /* @0061 *//* @0184 */
long sendno=0; /* @0072 */
char scrn=0x00; /* 0017 */
struct rqb *rqbp=NULL;
struct segprf *segp=NULL;
struct init3 *wp=NULL; /* @0050 */ /* 0017 */
char rhhdr0[3]={0x63,0x80,0x00}; /* @0048 */
char cond=0x00; /* 0017 */
char name[8]="";
short signbuf[5]={Bufsign1,Bufsign2,Bufsign3,
Bufsign4,Bufsign5}; /* @0208 */
short sigsw[5]={0,0,0,0,0}; /* @0029 */
short ss[5]={0}; /* @0029 */
char *pt1=NULL,*pt2=NULL,*pt3=NULL;
unsigned char *rdos=NULL; /* @0201 */
short msg28=0; /* @0201 */
struct nau *vtnau=NULL; /* @0044 */
char ch[26]={0};
short l=0,j=0;
short leng=0; /* @0044 */
short px1=0,py1=0,px2=0,py2=0,pcurx=0,pcury=0,pxw=0,pyw=0;
char *begpt=NULL,*curpt=NULL;
char pattr='\0';
union REGS reg={0};
short offs=0;
short hoffs=0; /* @0233 */
short textcol[5]={0},backcol[5]={0}; /* 0014 */ /* 0017 */
short msw2=0; /* @0221 */
int akey=0,bkey=0;
struct ekran {
char icon;
char attrib;
};
#if (OVL_TYPE==0) /* @0264 */
char * ind_ENABLE [2] = {"DISABLE"," ENABLE"};
char nodeptr[]=" Nodes "; /* @0266 */
char nodehead[]="Name Addr Type"; /* @0266 */
char dlcptr[]=" Links "; /* @0266 */
char dlchead[]="Name Type"; /* @0266 */
char ntype[]={0x10,0x20,0x30,0x01,0x02,0x04,0x09}; /* @0266 */
char *nntype={"MY","OTHER","LVS","8431","8432","8434","8439"};
char dtype[]={1,2,3,4,5,6,7,8,9}; /* 1083 @0266 */
char *ddtype[]={"AKK","LAN","ASY","BSC","SDLC","7920","TRN","TRN39","7920S"};
/* 1083 */
#endif
int attr_addr[1920]={0};
char buffer [1920]={0x00}, attrib[16]={0x00};
struct ekran screen [1920]={0};
int cursor_pos=0,laddr=0, haddr=0,
enable_flag_port=1,enable_flag_kbd=1,enable_flag_sys=1; /* @0317 */
char *mix=NULL;
int cursor_row=0, cursor_col=0;
int ind_y=0;
unsigned int enable_x1=0,enable_x2=0,insert_x=0,insert=0;
int portkey=0;
int swi=0;
char colortable[256]={0x00};
unsigned int oldcursor=0, shortcursor=0,
tallcursor=0, nocursor=0x2000,vissegment=0;
unsigned int baseport=0;
struct save_7927 buf7927={0}; /* @0208 */
struct buf_dos {
#if (OS_TYPE!=0) /* @0215 */
unsigned char contents [4000]; /* @0208 */
#endif /* @0215 */
unsigned int cursor_size;
int curx,cury,currmode; /* @0233 */
} buf2580={0};
char fmindex[] = /* 255 means that profile is not allowed */
{0, /* 0 */
255, /* 1 */
1, /* 2 */
2, /* 3 */
3, /* 4 */
4, /* 5 */
255, /* 6 */
5, /* 7 */
255,255,255,255,255,255,255,255,255, /* 8-16 */
6, /* 17 */
7}; /* 18 */
char tsindex[] = /* 255 means that profile is not allowed */
{255, /* 0 */
0, /* 1 */
1, /* 2 */
2, /* 3 */
3, /* 4 */
4, /* 5 */
255, /* 6 */
5, /* 7 */
255,255,255,255,255,255,255,255,255}; /* 8-16 */
/* sessa */
struct avt0 *avt=NULL; /* AVT table */ /* @0087 */
unsigned char Flag28=0x00; /* @0201 */
unsigned char Flagport=0x00; /* @0201 */
unsigned char optflg=0x00,flag2=0x00,tf=0x00,sflag=0x00; /* @0203 */
/* @0230 */
struct prqb *first_rqb=NULL; /* @0023 */
struct prqb *last_rqb=NULL; /* @0023 */
struct wrktb tmp2tb[1]={0}; /* 1005 */
char *ptr=NULL; /* @0088 */ /* @0023 */
/* @0230 */
short bfd=0; /* @0206 */
struct srdt *ws=NULL;
struct rdt *wr=NULL;
struct mat *wn=NULL;
struct dlctb *wd=NULL; /* @0043 */
struct majtb *wm=NULL;
struct aname (*wa)[3]={NULL};
struct nau *wnau=NULL;
/* @0205 */
short rc=0; /* @0043 */
/* @0304 */
struct buf_vt bufvt2580={0}; /* @0215 *//* @0233 */
char far *videobuf=NULL; /* @0207 */
short sw1=0;
short sw2[5]={0,0,0,0,0}; /* 0014 */
short x1[5]={0},y1[5]={0},x2[5]={0},y2[5]={0}; /* 0014 */
short escptr[5]={0}; /* @0206 */ /* 0014 */
short esc=0;
short hsw=0;
short msw=0;
short input=0;
char escflg=0x00; /* @0046 */
(*escrtn)()=NULL; /* @0046 */
char save25[80]={0x00};
short escape=256+94; /* escape code CTRL F1 */
/* 0014 */
char vt_flag=0x00;
short scr_no=0;
short unit[4]={2020,100,8,272}; /* @0307 */
short nu=0;
/* 0017 */
short class=0;
/* @0034 */
struct rqb *bufp=NULL;
short *pf=NULL;
char dispflag='\0'; /* @0056 */
char pww[16]={0x00}; /* @0071 */
char outbuffer[1920]={0x00}; /* @0185 */
struct out7920 *out7920=NULL;/* @0185 */
int col=0; /* @0185 */
int row=0; /* @0185 */
int color=0; /* @0185 */
int width=0; /* @0185 */
/* va_list arg_list=0;*/ /* @0185 */
struct parmglu *wglu=NULL;
struct tmp2 *wtmp2=NULL;
struct sess *wsess=NULL;
struct majtb *wmtb=NULL;
struct nausg *wnseg=NULL;
struct segprf *wseg=NULL;
struct th *wth=NULL;
struct rh *wrh=NULL; /* @0157 */
union ru *wru=NULL;
struct hscb *whscb=NULL;
struct lhscb *wlhscb=NULL;
struct bind *wbind=NULL; /* 1003 */
char out_buffer[1920]={0}; /* 1003 *//* @0175 */
struct rqb *rrqb=0;
int was_bufm=0;
int was_vvodz=0;
char opr[20]={0};
/* 5001 */
unsigned char a_to_e[256]={
0X00,0X01,0X02,0X03,0X37,0X2D,0X2E,0X2F,/*0*/
0x16,0x05,0x25,0x0b,0x0c,0x0d,0x0e,0x0f,
0X10,0X11,0X12,0X13,0X3C,0X3D,0X32,0X26,/*1*/
0x18,0x19,0x3f,0x27,0x1c,0x1d,0x1e,0x1f,
0X40,0X4F,0X7F,0X7B,0X5B,0X6C,0X50,0X7D,/*2*/
0x4d,0x5d,0x5c,0x4e,0x6b,0x60,0x4b,0x61,
0XF0,0XF1,0XF2,0XF3,0XF4,0XF5,0XF6,0XF7,/*3*/
0xf8,0xf9,0x7a,0x5e,0x4c,0x7e,0x6e,0x6f,
0X7C,0XC1,0XC2,0XC3,0XC4,0XC5,0XC6,0XC7,/*4*/
0xc8,0xc9,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,
0XD7,0XD8,0XD9,0XE2,0XE3,0XE4,0XE5,0XE6,/*5*/
0xe7,0xe8,0xe9,0x4a,0xe0,0x5a,0x5f,0x6d,
0X79,0X81,0X82,0X83,0X84,0X85,0X86,0X87,/*6*/
0x88,0x89,0x91,0x92,0x93,0x94,0x95,0x96,
0X97,0X98,0X99,0XA2,0XA3,0XA4,0XA5,0XA6,/*7*/
0xa7,0xa8,0xa9,0xc0,0x6a,0xd0,0xa1,0x07,
#if (KOI8_TYPE == 0) /* Alternate coding */ /* @0181 */
0XC1,0XBA,0XC2,0XBF,0XBC,0XC5,0XEC,0XFA,/*8*/
0xcb,0xcc,0xd2,0xce,0xd4,0xc8,0xd6,0xdc,
0XD7,0XC3,0XE3,0XEB,0XBE,0XE7,0XBB,0XFE,/*9*/
0xfb,0xfd,0x7d,0xef,0xee,0xfc,0xb8,0xdd,
0X81,0X78,0XAF,0X8D,0X8A,0X85,0XAE,0XB2,/*A*/
0x8f,0x90,0x9a,0x9b,0x9c,0x9d,0x96,0x9f,
0X2B,0X2C,0X09,0X20,0X29,0X43,0X44,0X45,/*B*/
0x46,0x39,0x30,0x38,0x08,0x47,0x48,0x28,
0X23,0X24,0X06,0X21,0X15,0X2A,0X49,0X51,/*C*/
0x33,0x1a,0x34,0x36,0x31,0x35,0x3a,0x52,
0X53,0X54,0X56,0X57,0X62,0X63,0X64,0X65,/*D*/
0x66,0x17,0x22,0x14,0x04,0x0a,0x1b,0x3b,
#else /* GOST */ /* @0181 */
0X2B,0X2C,0X09,0X20,0X29,0X43,0X44,0X45,/*8*/
0x46,0x39,0x30,0x38,0x08,0x47,0x48,0x28,
0X23,0X24,0X06,0X21,0X15,0X2A,0X49,0X51,/*9*/
0x33,0x1a,0x34,0x36,0x31,0x35,0x3a,0x52,
0X53,0X54,0X56,0X57,0X62,0X63,0X64,0X65,/*A*/
0x66,0x17,0x22,0x14,0x04,0x0a,0x1b,0x3b,
0XC1,0XBA,0XC2,0XBF,0XBC,0XC5,0XEC,0XFA,/*B*/
0xcb,0xcc,0xd2,0xce,0xd4,0xc8,0xd6,0xdc,
0XD7,0XC3,0XE3,0XEB,0XBE,0XE7,0XBB,0XFE,/*C*/
0xfb,0xfd,0x7d,0xef,0xee,0xfc,0xb8,0xdd,
0X81,0X78,0XAF,0X8D,0X8A,0X85,0XAE,0XB2,/*D*/
0x8f,0x90,0x9a,0x9b,0x9c,0x9d,0x96,0x9f,
#endif /* @0181 */
0X97,0X83,0XAC,0XAD,0X8C,0XA7,0X80,0XB6,/*E*/
0xb3,0xb5,0xb7,0xb1,0xb0,0xb4,0x76,0xa0,
0XC5,0X85,0X62,0X63,0X64,0X65,0X66,0X67,/*F*/
0x68,0x69,0x70,0x71,0x72,0x73,0x74,0xff };
unsigned char e_to_a[256]={ 0X00,0X01,0X02,0X03,0XDC,0X09,0XC2,0X7F,/*0*/
0xbc,0xb2,0xdd,0x0b,0x0c,0x0d,0x0e,0xff,
0X10,0X11,0X12,0X13,0XDB,0XC4,0X08,0XD9,/*1*/
0x18,0x19,0xc9,0xde,0x1c,0x1d,0x1e,0x1f,
0XB3,0XC3,0XDA,0XC0,0XC1,0X0A,0X17,0X1B,/*2*/
0xbf,0xb4,0xc5,0xb0,0xb1,0x05,0x06,0x07,
0XBA,0XCC,0X16,0XC8,0XCA,0XCD,0XCB,0X04,/*3*/
0xbb,0xb9,0xce,0xdf,0x14,0x15,0xfd,0x1a,
0X20,0XFA,0XF0,0XB5,0XB6,0XB7,0XB8,0XBD,/*4*/
0xbe,0xc6,0x5b,0x2e,0x3c,0x28,0x2b,0x21,
0X26,0XC7,0XCF,0XD0,0XD1,0XFB,0XD2,0XD3,/*5*/
0xfc,0xf1,0x5d,0x24,0x2a,0x29,0x3b,0x5e,
0X2D,0X2F,0XD4,0XD5,0XD6,0XD7,0XD8,0XF2,/*6*/
0xf3,0xf4,0x7c,0x2c,0x25,0x5f,0x3e,0x3f,
#if (KOI8_TYPE==0) /* Alternate coding */ /* @0181 */
0XF5,0XF6,0XF7,0XF8,0XF9,0X9A,0XEE,0XA0,/*7*/
0xa1,0x60,0x3a,0x23,0x40,0x27,0x3d,0x22,
0XE6,0X61,0X62,0X63,0X64,0X65,0X66,0X67,/*8*/
0x68,0x69,0xa4,0xa5,0xe4,0xa3,0xe5,0xa8,
0XA9,0X6A,0X6B,0X6C,0X6D,0X6E,0X6F,0X70,/*9*/
0x71,0x72,0xaa,0xab,0xac,0xad,0xae,0xaf,
0XEF,0X7E,0X73,0X74,0X75,0X76,0X77,0X78,/*A*/
0x79,0x7a,0xe0,0xe1,0xe2,0xe3,0xa6,0xa2,
0XEC,0XEB,0XA7,0XE8,0XED,0XE9,0XE7,0XEA,/*B*/
0x9e,0x80,0x81,0x96,0x84,0x85,0x94,0x83,
0X7B,0X41,0X42,0X43,0X44,0X45,0X46,0X47,/*C*/
0x48,0x49,0x95,0x88,0x89,0x8a,0x8b,0x8c,
0X7D,0X4A,0X4B,0X4C,0X4D,0X4E,0X4F,0X50,/*D*/
0x51,0x52,0x8d,0x8e,0x8f,0x9f,0x90,0x91,
0X5C,0XCF,0X53,0X54,0X55,0X56,0X57,0X58,/*E*/
0x59,0x5a,0x92,0x93,0x86,0x82,0x9c,0x9b,
0X30,0X31,0X32,0X33,0X34,0X35,0X36,0X37,/*F*/
0x38,0x39,0x87,0x98,0x9d,0x99,0x97,0xff };
#else /* GOST */ /* @0181 */
0XF5,0XF6,0XF7,0XF8,0XF9,0X9A,0XEE,0Xd0,/*7*/
0xd1,0x60,0x3a,0x23,0x40,0x27,0x3d,0x22,
0XE6,0X61,0X62,0X63,0X64,0X65,0X66,0X67,/*8*/
0x68,0x69,0xd4,0xd5,0xe4,0xd3,0xe5,0xd8,
0Xd9,0X6A,0X6B,0X6C,0X6D,0X6E,0X6F,0X70,/*9*/
0x71,0x72,0xda,0xdb,0xdc,0xdd,0xde,0xdf,
0XEF,0X7E,0X73,0X74,0X75,0X76,0X77,0X78,/*A*/
0x79,0x7a,0xe0,0xe1,0xe2,0xe3,0xd6,0xd2,
0XEC,0XEB,0Xd7,0XE8,0XED,0XE9,0XE7,0XEA,/*B*/
0xce,0xb0,0xb1,0xc6,0xb4,0xb5,0xc4,0xb3,
0X7B,0X41,0X42,0X43,0X44,0X45,0X46,0X47,/*C*/
0x48,0x49,0xc5,0xb8,0xb9,0xba,0xbb,0xbc,
0X7D,0X4A,0X4B,0X4C,0X4D,0X4E,0X4F,0X50,/*D*/
0x51,0x52,0xbd,0xbe,0xbf,0xcf,0xc0,0xc1,
0X5C,0XCF,0X53,0X54,0X55,0X56,0X57,0X58,/*E*/
0x59,0x5a,0xc2,0xc3,0xb6,0xb2,0xcc,0xcb,
0X30,0X31,0X32,0X33,0X34,0X35,0X36,0X37,/*F*/
0x38,0x39,0xb7,0xc8,0xcd,0xc9,0xc7,0xff };
#endif /* @0181 */
struct dcr dcr={0};
struct dcr_el dcr_el={0};
struct dcr ddcr={0}; /* @0243 */
struct dcr_el ddcr_el={0}; /* @0243 */
struct rqb *dataq=0;
char user[8]={0x00}; /* @0157 */
char duser[8]={0x00}; /* @0157 *//* @0243 */
struct data2 *wda=NULL;
int fff=0; /* @0157 *//* @0159 */
int cry=0; /* @0186 */
struct rqb *qrp=NULL; /* @0158 */
struct dcr *d_crec=NULL; /* @0157 */
struct dcr *dd_crec=NULL; /* @0157 *//* @0243 */
struct dcr_el *del=NULL; /* @0157 */
struct dcr_el *ddel=NULL; /* @0157 *//* @0243 */
struct nextprev { /* @0159 */
long next; /* @0159 */
long prev; /* @0159 */
} nextprev={0}; /* @0159 */
long seek=0; /* @0157 *//* @0158 */
short doff=0; /* @0157 */
short ddoff=0; /* @0306 */
unsigned char shiftfl=0x04; /* @0201 */
struct naus0 *nps=NULL;
#if (OVL_TYPE==1) /* @0234 */
int (*(pswitch[10]))()={ /* @0322 */
Trn_frame,Trn_signon,Trn_set,Trn_logon,Trn_data,
Trn_logoff,Trn_status,Trn_vpexit,Trn_data02,Trn_data03};/* @0322 */
#else
int (*(pswitch[10]))()={ /* @0322 */
frame,signon,set,logon,data,logoff,status,vpexit,
data02,data03}; /* @0224 *//* @0322 */
#endif
char inithdr[3]={0x01,0x06,0x81}; /* @0048 */
char termhdr[3]={0x01,0x06,0x83}; /* @0055 */
#if (OVL_TYPE==0) /* @0233 */
int (*(fswitch[2]))()={ /* @0224 */
frame0, /* 0 */ /* @0224 */
frame1, /* 1 */ /* @0224 */
}; /* @0224 */
char *statxt[3]={"Screen","Resource","Trace"}; /* @0216 */
char hstatus[]="STATUS";
int (*(stswitch[]))()={
status0,
status1, /* @0245 */
status2, /* @0245 */
status3, /* @0245 */
status4, /* @0245 */
status5 /* @0245 */
};
char *etxt[]={"Clear",
"End of PORT"}; /* @0052 */
char hexit[]="EXIT";
int (*(eswitch[2]))()={
exit0,
exit1
};
char *offtext[3]={"Screen","Condition","Go"};
char hlogof[9]=" LOGOFF ";
int (*(lfswitch[3]))()={
logoff0,
logoff1,
logoff2 /* 0014 */
};
char hdata[6]=" DATA ";
/* @0159 */
/* @0230 */
char *datatxt[2]={"Send","Receive"};
int (*(dswitch[]))()={
data0, /* main menu */
data1, /* analyze main menu */
data2, /* analyze Send menu */
data3, /* analyze Source menu */
data4, /* analyze remote user or confirmation */
data5, /* analyze input */ /* @0057 */
data6, /* analyze file name */ /* @0057 */
data7, /* analyze datagram list */ /* @0057 */
data8, /* analyze what to do with datagram */ /* @0057 */
data9, /* analyze displaydata */ /* @0060 */
data10, /* analyxe filename for savedata */ /* @0060 */
data11, /* analyze overwrite *//* 0061*/ /* @0060 */
data12 /* continue output */ /* @0061 */
};
char *dtxt[4]={"Display","Print","Save","Delete"};
char *dtxt3[2]={"NEW","File name"};
char *dtxt2[3]={"Remote user","Confirm","Source"}; /* @0044 */
short dar1[2]={4,7};
char *pk1[4]={" F1","Esc","Ctrl End","Enter"};/* @0067 *//* @0060 *//* @0061 *//* @0072 */
char *pk2[4]={"Help","Exit","Send text","New paragraf"};/* @0067 *//* @0060 */
char *rk1[5]={" F1","PgUp","PgDn","Enter","Esc"};/* @0060 */ /* @0061 */
char *rk2[5]={"Help","Previous","Next","Display","Exit"};/* @0060 *//* @0072 */
char *dk1[5]={" F1","Esc","F2","F3","F4"}; /* @0060 */ /* @0061 */
char *dk2[5]={"Help","Exit","Print","Delete","Save"}; /* @0060 */
char *sk1[5]={" F1","Up","Down","Enter","Esc"}; /* @0262 */
char hlogon[]=" LOGON ";
int (*(lswitch[3]))()={
logon0, /* 0 */
logon1, /* 1 */
logon2 /* 2 */ /* 0014 */
};
char hsignon[]=" SIGNON ";
/* 0014 */
char *sigtxt[7]={"User name","Password","Application","Mode name",
"User data","Screen","Go"};
int (*(sswitch[3]))()={
signon0, /* 0 */
signon1, /* 1 */
signon2 /* 2 */ /* 0014 */
};
char hset[]=" SET ";
char *settxt[4]={"VT modes","DLC modes","AP modes","Trace"}; /* @0203 */
int (*(setswitch[]))()={
set0, /* first routine */
set1, /* analyze main menu */
set2, /* analyze second level menu */
set3, /* analyze Activata, Deactivate and Hot key */
set4, /* analyze Name for DLC and AP */
set5, /* analyze Y/N for Trace and Statistic */
set6 /* analyze Screen, Save, Cond */
};
/* @0031 */
char *(settxt0[3])={"Activate","Deactivate","Hot key"};
char *(settxt1[4])={"Dispatcher","Sessions","I/O","Buffers"};
/* @0203 */
char *(settxt3[3])={"Screen","Save buffer","Go"};
char *(settxt4[2])={"CTRL","ALT"};
short setar1[5]={3,2,2,4,3};
short setar2[5]={8,9,8,5,9};
char *(setar3[4])={settxt0,settxt0,
settxt0,settxt1 }; /* @0203 */
short setar4[5]={16,19,21,23,27};
short setar5[3]={3,3,2};
short setar6[3]={8,10,7};
char *((*setar7[3])[3])={(char *(*)[])&settxt3,
(char *(*)[])&offtext,
(char *(*)[])&settxt4};
short setar8[3]={30,33,36};
/* @0230 */
#endif
struct rqb *((*(funct_table[ST_N]))())={
appl,
path,
sessa,
fisc,
csc,
cpmgr,
pu,
dfc,
pfrom,
landlc,
config,
#if (OVL_TYPE==1) /* @0234 */
Trn_npinput,
#else
npinput, /* 1001 */
#endif
dlc7920, /* 1001 */
dlctrn, /* 1007 */
dlctrn39, /* @0072 */ /* 1007 */
#if (OVL_TYPE==1)
Trn_dataw_code,
#else
dataw_code, /* @0072 */ /* 1051 */
#endif
dlcasync, /* 1051 */
dlcasync, /* 1051 */
dlcasync, /* 1083 */
dlc7920s /* 1083 */
};
/* @0264 */
#if (OVL_TYPE==0) /* @0264 */
unsigned char togr[ ]={
0x20,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x5b,0x2e,0x3c,0x28,0x2b,0x21,
0x26,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x5d,0x24,0x2a,0x29,0x3b,0x5e,
0x2d,0x2f,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x7c,0x2c,0x25,0x5f,0x3e,0x3f,
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x23,0x40,0x27,0x3d,0x22,
};
#endif
#if (OS_TYPE!=0) /* @0233 */
char hbuf[1080]={0x00};
#endif
char b_ins[]="INS";
char twoblanks[]=" "; /* @0226 */
char u2[]="%2u"; /* @0226 */
char u4[]="%.4u"; /* @0226 */
char u5[]="%5u"; /* @0226 */
char pgdn[]="PgDn"; /* @0226 */
char pgup[]="PgUp"; /* @0226 */
char u[]="%u"; /* @0226 */
#if (OVL_TYPE==0) /* @0233 */
char hhead[5]="HELP";
char portdos[]="PORT-DOS"; /* @0226 */
char datagram[]="DATAGRAMS"; /* @0226 */
char areaname[]="Area name Node name LU name"; /* @0226 */
char datetime[]=" Date Time Size"; /* @0226 */
char ays[]="Are you sure?Reply Y/N"; /* @0226 */
char fae[]="File already exist.Overrun?(Y/N)"; /* @0226 */
char scrhead[]="Screen Active/Inactive Session Remote AP name";
char scrptr[]=" LOGICAL SCREENS "; /* @0245 */
char active[]="ACTIVE"; /* @0247 */
char inactive[]="INACTIVE";
/* @0230 */
#endif
char yes[]="YES"; /* @0247 */
char no[]="NO";
#if (OVL_TYPE==0) /* @0264 */
unsigned char russ_table[ ] = {
0x41,0xE2,0x42,0xE7,0xE4,0x45,0xF6,0xFA, /* 128-135 */
0xE9,0xEA,0x4B,0xEC,0x4D,0x48,0x4F,0xF0, /* 136-143 */
0x50,0x43,0x54,0xF5,0xE6,0x58,0xE3,0xFE, /* 144-151 */
0xFB,0xFD,0x27,0xF9,0xF8,0xFC,0xE0,0xF1, /* 152-159 */
0x61,0xC2,0xD7,0xC7,0xC4,0x65,0xD6,0xDA, /* 160-167 */
0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0x6F,0xD0, /* 168-175 */
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, /* 176-183 */
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, /* 184-191 */
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, /* 192-199 */
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, /* 200-207 */
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, /* 208-215 */
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, /* 216-223 */
0x70,0x63,0xD4,0x79,0xC6,0x78,0xC3,0xDE, /* 224-231 */
0xDB,0xDD,0xDF,0xD9,0xD8,0xDC,0xC0,0xD1, /* 232-239 */
0x45,0x65,0x20,0x20,0x20,0x20,0x20,0x20, /* 240-247 */
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20}; /* 248-255 */
#endif /* @0264 */
char rbshdr[3]={0x43,0x06,0x0A}; /* ru-header RBS */ /* 1005 */
char rhhdr[3]={0x0b,0x80,0x00}; /* rh-header */ /* 1008 */
char rrbshdr[3]={0x43,0x06,0x1A}; /* ru-header RRBS */ /* 1008 */
char drlhdr[3]={0x43,0x06,0x02}; /* 1005 */
char rlihdr[3]={0x43,0x06,0x12};
char BIND1[25] = /* image BIND 1016 */
{0x01, /* 0 */ /* 1016 */
0x03, /* 1 */ /* 1016 */
0x03, /* 2 */ /* 1016 */
0xa0, /* 3 */ /* 1016 */
0xd0, /* 4 */ /* 1016 */
0x20, /* 5 */ /* 1016 */
0x80, /* 6 */ /* 1016 */
0x00,0x00, /* 7 */ /* 1016 */
0x85,0x85, /* 8-9 */ /* 1016 */
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 1016 */
0x00,0x00,0x00,0x00}; /* 10-24 */ /* 1016 */
char vt[]="VT "; /* @0226 */
char l_s[]="LS-"; /* @0226 */
char bindhdr[3]={0x6B,0x80,0x00};
char bindfhdr[3]={0x81,0x06,0x85};
short wver=0x0003; /* version 1010 */
#if (OVL_TYPE==0) /* @0264 */
char ENABLE[]="ENABLE"; /* @0227 */
char DISABLE[]="DISABLE"; /* @0227 */
#endif
int vis_attr=0; /* @0227 */
short help28=0; /* @0233 */
#if (OVL_TYPE==0) /* @0254 */
char *atype[]={"SNA","LEN","LAN","PSN"};
char areahead[]="Addr Name Act/Inact Status Type Nodes Links This node";
char address[]="address"; /* @0248 */
char *sttxt2[]={"System","AP","VT"}; /* @0254 */
char *sttxt3[]={"Areas","Glu names","User names"}; /* @0254 */
#endif /* @0254 */
struct ovpp { /* 5001 */
struct rqb *wrqb; /* 5001 */
void *xmit_queue_one; /* 5001 */
}; /* 5001 */
typedef struct {
char address[18];
}PRD;
typedef struct {
short buffer[2000];
}DIR;
typedef struct {
short buffer_pool[3000];
char buf_id;
}DLC;
typedef struct {
short id_station;
char count;
}XMTWO;
typedef struct {
XMTWO *xm2;
short rezerv;
short length_in_buffer;
short user_data;
short user_length;
char user_space[50]; /* 5001 */
}XMONE;
typedef struct {
char id_station1;
char id_station2;
char id_station3;
char id_station4;
char id_station5;
char id_station6;
}DEST;
typedef struct {
char blok[58];
char buf_entr[255];
} BUFDRV;
typedef struct {
char outbuf[255];
}ONE;
typedef struct {
char buf_begin;
char buf_end;
}TWO;
typedef struct {
short station_id; /*¿ñÑ¡Γ¿Σ¿¬áΓ«p ßΓᡵ¿¿*/
short buffer_left; /*¬«½¿τÑßΓó« «ßΓáóΦ¿σß∩ íπΣÑp«ó*/
char buffer_get; /*¬«½¿τÑßΓó« íπΣÑp«ó ñ½∩ »«½πτÑ¡¿∩*/
char res[3];
ONE *xm1; /*áñpÑß »Ñpó«ú« »p¿¡∩Γ«ú« íπΣÑpá*/
}TGET;
typedef struct {
short station_id;
short buffer_left;
char reserv[4];
ONE *xm1;
}TFREE;
typedef struct {
short sap_station_id;
short link_station_id;
char timer_t1;
char timer_t2;
char timer_ti;
char maxout;
char maxin;
char maxout_incr;
char max_retry_cnt;
char rsap_value;
short max_i_field;
char access_priority;
char nul;
DEST *pdad;
}TOPEN;
typedef struct {
short station_id;
char transmit_fs;
char rsap;
XMONE *xm1;
XMTWO *xm2;
short buffer_len_one;
short buffer_len_two;
ONE *pbo;
TWO *pbt;
}TWRITE;
typedef struct {
int point_id;
}POINT;
typedef struct {
char adapter;
char node_address[6];
short num_rsv_buffers;
short rcv_buffer_len;
short dnb_buffer_len;
char data_hold_buf;
PRD * pia;
short dir_buf_size;
short dir_pool_blocks;
DIR *buf1;
char dlc_max_sta;
void *received_data;
short *open_data;
char maxout;
char maxin;
char station_count;
short dlc_buf_size;
short dlc_pool_len;
DLC *buf2;
}OPEN;
typedef struct {
short station_id[255];
short *close_data;
}CLOSE;
typedef struct {
char command;
short station_id;
XMONE *xm1;
XMTWO *xm2;
short buffer_len_one;
short buffer_len_two;
ONE *pbo;
TWO *pbt;
short *close_data;
}WRITE;
typedef struct {
short sap_station_id;
char maxout;
char maxin;
char rsap_value;
char access_priority;
DEST *dad;
short *ioctl_data;
short station_id;
char option;
short *received_data;
}OPEN_STATION;
typedef struct {
short station_id_1b;
short *route ;
short *connect_data;
}CONNECT_STATION;
typedef struct {
short station_id;
short *close_station_data;
}CLOSE_STATION;
typedef struct {
short station_id;
char buffer_get;
short *get_data;
}GET;
typedef struct {
short station_id;
ONE *pbo;
short *free_data;
}FREE;
typedef struct {
char ccb_adapter;
char ccb_command;
char ccb_retcode;
char ccb_work;
POINT *pnt;
void *cplt;
void *tab;
} CCB;
typedef struct {
void *buf_pointer;
short rcv_len;
short length_in_buffer;
short adapter_offset;
short user_length;
short station_id;
char options;
char message_type;
short buffer_left;
char rcv_fs;
char adapter_num;
char lan_header_length;
char dlc_header_length;
struct {
unsigned char ac;
unsigned char fc;
char dnode_addr[6];
char onode_addr[6];
struct {
unsigned dl:5;
unsigned tm:3;
unsigned rs:4;
unsigned dk:1;
unsigned nk:3;
short ukm1;
short ukm2;
short ukm3;
short ukm4;
short ukm5;
short ukm6;
short ukm7;
short ukm8;
}im;
}lan_header;
long dlc_header;
char rcvd_data;
}RECEIVE_BUF1;
typedef struct{
void *buf_pointer;
short rcv_len;
short length_in_buffer;
short adapter_offset;
short user_length;
char rcvd_data;
}RECEIVE_BUF2;
/* CCB *PCCB=NULL; /* 0282 */
BUFDRV *PBUF=NULL;
char buffree[8]={0}; /* 5001 */
char buftrn39[6500]={0}; /* 5001 */
int cmd=0;
char PR1_NODE_ADDR[6]={0}; /* 5001 */
short PR1_ST_ID_15=NULL;
short PR1_LINK_ST_ID_19[9]={0};
char mxid[20]={0,0,0,0,0,0,0,0,0xb0,8,0,0,0,0,0,0,0,0,0x0b,0x71};
char wovpp[40]={0};
char tbs[128*sizeof(struct tbs)]={0};
char tabm[1024*sizeof(struct tabm)]={0};
char adapter=NULL;
short station_id15=NULL;
/*void *PBUF=NULL;*/
void *CMD_CPLT=NULL;
void *REC_DATA=NULL;
OPEN parm_open={0};
CLOSE parm_close={0};
WRITE parm_write={0};
OPEN_STATION parm_open_station={0};
CONNECT_STATION parm_connect_station={0};
CLOSE_STATION parm_close_station={0};
GET parm_get={0};
FREE parm_free={0};
PRD product_id_addr={0};
DIR dir_pool_address={0};
DLC dlc_pool_addr={0};
POINT ccb_pointer={0};
XMONE *xmit_queue_one=NULL;
XMTWO *xmit_queue_two=NULL;
DEST dest_addr={0};
BUFDRV bufer={0}; /* 5001 */
DLC *dlc=NULL; /* 5001 */
OPEN *pop=NULL;
CLOSE *pcl=NULL;
WRITE *pwr=NULL;
OPEN_STATION *post=NULL;
CONNECT_STATION *pcnst=NULL;
CLOSE_STATION *pcst=NULL;
GET *pgt=NULL;
FREE *pft=NULL;
DEST *det=NULL;
TGET *ccb_get=NULL;
TFREE *ccb_free=NULL;
TOPEN *ccb_open=NULL;
TWRITE *ccb_write=NULL;
ONE *buffer_one=NULL;
TWO *buffer_two=NULL;
CCB *parm_ccb=NULL;
char *PCCB39=NULL; /* 5001 */
struct BUFDRV *PBUF39=NULL; /* 5001 */
short (* REC_DRV_DATA1)(); /*π¬áºáΓѽ∞ ¡á »/» »α¿Ñ¼á ñá¡¡δσ*/
short (* REC_DRV_DATA)(); /*π¬áºáΓѽ∞ ¡á »/» ºáóÑαΦÑ¡¿∩ ¬«¼á¡ñδ »α¿Ñ¼á*/
short (* CMD_DRV)(); /*π¬áºáΓѽ∞ ¡á »/» ºáóÑαΦÑ¡¿∩ ¬«¼á¡ñ*/
char *UCCB=NULL; /*ôèÇçÇÆàï£ èÄäÇ ææé.âïÄüÇï£ìǃ ÅàÉàîàììǃ äïƒ DRVINT.ASM*/
char buf16[16]={0};
char buf15[16]={0};
char buft15[30]={0};
char buf27[16]={0};
char buft27[12]={0};
char buf28[16]={0};
char buft28[13]={0};
char buf0b[16]={0};
char buft0b[24]={0};
char buf26[16]={0};
char buft26[12]={0};
struct ccb15s *u15ccb=NULL;
struct tab15s *tab15u=NULL;
struct ccb27s *u27ccb=NULL;
struct tab27s *tab27u=NULL;
struct ccb16s *u16ccb=NULL;
struct ccb28s *u28ccb=NULL;
struct tab28s *tab28u=NULL;
struct ccb0bs *u0bccb=NULL;
struct tab0bs *tab0bu=NULL;
struct tab26s *tab26u=NULL;
struct ccb26s *u26ccb=NULL; /* 5001 */
struct crec {
void far *asc_rcv_exit;
short asc_speed;
unsigned char asc_width ; /* word width */
unsigned char asc_parity; /* port & parity */
unsigned char asc_stops; /* number of stop bits */
} rec={0};
union REGS inregs={0}, outregs={0};
struct SREGS segregs={0};
char MSG[101]={0x00};
*/ /* @0282 */
short fd=0; /* @0231 */
char portpath[60]={0x00}; /* @0292 *//* @0304 */
unsigned char bufvt=0x00; /* 1082 */
unsigned char buflan=0x00; /* 1082 */
unsigned int pspseg=0; /* @0320 */
char mbreak=0x00; /* @0320 */
char *dosbreak=0; /* @0320 */
char *mdta=0; /* @0320 */
long *dosdta=0; /* @0320 */
int *dospid=0; /* @0320 */
long sample=0x5555aaaa; /* @0320 */
char *old65=0; /* @0320 */
char *ydta=0; /* @0320 */
int ypsp=0; /* @0320 */
char *old24=0; /* @0320 */
struct FILELIST { /* @0322 */
int current;
int first;
int findoff;
int total;
int files;
int dirs;
int curspos;
int insert;
int offset;
char cdir[MAXDIR+13];
unsigned char sw1,sw2,sw3;
} FL={0,0,0,0,0,0,0,0,0,NULL,0,0,0};
/* O V E R L A Y */
#if (OVL_TYPE==1)
#include "overl.h"
#endif